package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 来料检验计划对象 biz_inspection_plan
 * 
 * @author ruoyi
 * @date 2025-10-30
 */
public class BizInspectionPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 检验计划ID */
    private Long planId;

    /** 检验计划编号 */
    @Excel(name = "检验计划编号")
    private String planNo;

    /** 收料通知单ID */
    private Long receiptNoteId;

    /** 收料通知单编号 */
    @Excel(name = "收料通知单编号")
    private String receiptNoteNo;

    /** 送货单编号 */
    @Excel(name = "送货单编号")
    private String deliveryNoteNo;

    /** 供货商编码 */
    private String supplierCode;

    /** 供货商名称 */
    private String supplierName;

    /** 存货编码 */
    @Excel(name = "存货编码")
    private String inventoryCode;

    /** 存货名称 */
    @Excel(name = "存货名称")
    private String inventoryName;

    /** 批次号 */
    @Excel(name = "批次号")
    private String batchNo;

    /** 总箱数 */
    private Long totalBoxes;

    /** 总数量 */
    private BigDecimal totalQuantity;

    /** 抽检箱数 */
    private Long sampleBoxes;

    /** 抽检数量 */
    private BigDecimal sampleQuantity;

    /** 检验方案ID */
    private Long templateId;

    /** 检验方案编号 */
    private String templateNo;

    /** 计划状态 */
    private String planStatus;

    /** 检验员 */
    @Excel(name = "检验员")
    private String inspector;

    /** 检验日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectionDate;

    /** 检验结果：PASS-合格, FAIL-不合格 */
    private String inspectionResult;

    /** 合格数量 */
    private BigDecimal qualifiedQuantity;

    /** 不合格数量 */
    private BigDecimal rejectedQuantity;

    /** 不合格原因 */
    private String rejectionReason;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    private Date createdTime;

    /** 更新人 */
    private String updatedBy;

    /** 更新时间 */
    private Date updatedTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    /** 检验结果明细信息 */
    private List<BizInspectionResult> bizInspectionResultList;

    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }

    public void setPlanNo(String planNo) 
    {
        this.planNo = planNo;
    }

    public String getPlanNo() 
    {
        return planNo;
    }

    public void setReceiptNoteId(Long receiptNoteId) 
    {
        this.receiptNoteId = receiptNoteId;
    }

    public Long getReceiptNoteId() 
    {
        return receiptNoteId;
    }

    public void setReceiptNoteNo(String receiptNoteNo) 
    {
        this.receiptNoteNo = receiptNoteNo;
    }

    public String getReceiptNoteNo() 
    {
        return receiptNoteNo;
    }

    public void setDeliveryNoteNo(String deliveryNoteNo) 
    {
        this.deliveryNoteNo = deliveryNoteNo;
    }

    public String getDeliveryNoteNo() 
    {
        return deliveryNoteNo;
    }

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }

    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }

    public void setInventoryCode(String inventoryCode) 
    {
        this.inventoryCode = inventoryCode;
    }

    public String getInventoryCode() 
    {
        return inventoryCode;
    }

    public void setInventoryName(String inventoryName) 
    {
        this.inventoryName = inventoryName;
    }

    public String getInventoryName() 
    {
        return inventoryName;
    }

    public void setBatchNo(String batchNo) 
    {
        this.batchNo = batchNo;
    }

    public String getBatchNo() 
    {
        return batchNo;
    }

    public void setTotalBoxes(Long totalBoxes) 
    {
        this.totalBoxes = totalBoxes;
    }

    public Long getTotalBoxes() 
    {
        return totalBoxes;
    }

    public void setTotalQuantity(BigDecimal totalQuantity) 
    {
        this.totalQuantity = totalQuantity;
    }

    public BigDecimal getTotalQuantity() 
    {
        return totalQuantity;
    }

    public void setSampleBoxes(Long sampleBoxes) 
    {
        this.sampleBoxes = sampleBoxes;
    }

    public Long getSampleBoxes() 
    {
        return sampleBoxes;
    }

    public void setSampleQuantity(BigDecimal sampleQuantity) 
    {
        this.sampleQuantity = sampleQuantity;
    }

    public BigDecimal getSampleQuantity() 
    {
        return sampleQuantity;
    }

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setTemplateNo(String templateNo) 
    {
        this.templateNo = templateNo;
    }

    public String getTemplateNo() 
    {
        return templateNo;
    }

    public void setPlanStatus(String planStatus) 
    {
        this.planStatus = planStatus;
    }

    public String getPlanStatus() 
    {
        return planStatus;
    }

    public void setInspector(String inspector) 
    {
        this.inspector = inspector;
    }

    public String getInspector() 
    {
        return inspector;
    }

    public void setInspectionDate(Date inspectionDate) 
    {
        this.inspectionDate = inspectionDate;
    }

    public Date getInspectionDate() 
    {
        return inspectionDate;
    }

    public void setInspectionResult(String inspectionResult) 
    {
        this.inspectionResult = inspectionResult;
    }

    public String getInspectionResult() 
    {
        return inspectionResult;
    }

    public void setQualifiedQuantity(BigDecimal qualifiedQuantity) 
    {
        this.qualifiedQuantity = qualifiedQuantity;
    }

    public BigDecimal getQualifiedQuantity() 
    {
        return qualifiedQuantity;
    }

    public void setRejectedQuantity(BigDecimal rejectedQuantity) 
    {
        this.rejectedQuantity = rejectedQuantity;
    }

    public BigDecimal getRejectedQuantity() 
    {
        return rejectedQuantity;
    }

    public void setRejectionReason(String rejectionReason) 
    {
        this.rejectionReason = rejectionReason;
    }

    public String getRejectionReason() 
    {
        return rejectionReason;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<BizInspectionResult> getBizInspectionResultList()
    {
        return bizInspectionResultList;
    }

    public void setBizInspectionResultList(List<BizInspectionResult> bizInspectionResultList)
    {
        this.bizInspectionResultList = bizInspectionResultList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("planNo", getPlanNo())
            .append("receiptNoteId", getReceiptNoteId())
            .append("receiptNoteNo", getReceiptNoteNo())
            .append("deliveryNoteNo", getDeliveryNoteNo())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("inventoryCode", getInventoryCode())
            .append("inventoryName", getInventoryName())
            .append("batchNo", getBatchNo())
            .append("totalBoxes", getTotalBoxes())
            .append("totalQuantity", getTotalQuantity())
            .append("sampleBoxes", getSampleBoxes())
            .append("sampleQuantity", getSampleQuantity())
            .append("templateId", getTemplateId())
            .append("templateNo", getTemplateNo())
            .append("planStatus", getPlanStatus())
            .append("inspector", getInspector())
            .append("inspectionDate", getInspectionDate())
            .append("inspectionResult", getInspectionResult())
            .append("qualifiedQuantity", getQualifiedQuantity())
            .append("rejectedQuantity", getRejectedQuantity())
            .append("rejectionReason", getRejectionReason())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("bizInspectionResultList", getBizInspectionResultList())
            .toString();
    }
}
